package org.resotc.model;

import java.awt.Color;
import java.util.HashMap;

import sim.util.Double2D;

public interface TrafficLight {
	/**
	 * Returns a Integer x value.
	 * 
	 * @return Integer
	 */
	public int getX();

	/**
	 * Returns a Integer x value.
	 * 
	 * @return Integer
	 */
	public int getY();

	/**
	 * Set x value.
	 * 
	 */
	public void setX(int x);

	/**
	 * Set y value
	 * 
	 */
	public void setY(int y);

	/**
	 * Returns the count of Lights
	 * 
	 * @return Integer
	 */
	public int getLightCount();

	/**
	 * Set the count of Lights
	 * 
	 */
	public void setLightCount(int countLight);

	/**
	 * Set the color for one light
	 * 
	 */
	public void setColor(int lightId, Light light);

	/**
	 * Returns the color.
	 * 
	 * @return Color
	 */
	public Color getColor(int lightId);

	/**
	 * Calculates the positions of the lights
	 * 
	 * @return HashMap <Integer,Double2D>
	 * @param IntersectionPos
	 *            Double2D
	 * @param StreetPos
	 *            Double2D
	 */
	public HashMap<Integer, Double2D> calcLightPos(Double2D IntersectionPos,
			Double2D StreetPos);

	/**
	 * Return the position of the lights
	 * 
	 * @return HashMap <Integer,Double2D>
	 */
	public HashMap<Integer, Double2D> getLightPos();

	/**
	 * Set position of the lights
	 * 
	 * @param HashMap
	 *            <Integer,Double2D>
	 */
	public void SetLightPos(HashMap<Integer, Double2D> lightsPos);
	
	/**
	 * Return the light
	 * @param lightid
	 * @return Light Double2D
	 */
	public Light getLight(int lightid);
}
